package byx.container.annotation.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 加在类上，表示当前类注册到容器的id（配合Register或Conditional*注解）
 * 加在方法上，表示当前方法定义的对象注册到容器的id（配合Register或Conditional*注解）
 * 加在参数上，表示从容器中注入的对象id
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER})
public @interface Id {
    String value();
}
